package bancosys.tec.persist.validator;

import bancosys.tec.persist.Persistable;

/**
 * Factory de Persister.
 */
public interface ValidatorFactory {

    /**
     * Recupera o BeanValidator a partir de sua classe. Este método assume o padrão que o Validator está no pacote .persiter a partir do
     * pacote da classe, e que possui 'Validator' no fim do nome. Exemplo: Classe: bancosys.tec.persist.domain.base.FirstDummy DAO:
     * bancosys.tec.persist.validator.base.FirstDummyValidator
     * 
     * @param <T> tipo de bean
     * @param bean o bean.
     * @return o validator
     */
    <T extends Persistable> Validator<T> getValidator(T bean);
}
